avatar habrahabr_full

Хабрахабр без ката



подробнее...

Следить за персональным блогом


Автоматизированная система Промышленная безопасность и охрана труда

Обновления главной ленты блогов
Вконтакте Facebook Twitter RSS Почта Livejournal
Внимание

На нашем портале можно бесплатно публиковать информацию о своей компании, размещать товары и услуги и цены на них.
Ведите свой личный или корпоративный блог и его ежедневно увидят 30 тысяч посетителей нашего сайта.

03 мая 2018, 05:51

[recovery mode] Отказоустойчивый VoIP кластер 3CX


Отказоустойчивый кластер 3CX представляет собой два реплицируемых сервера АТС. Когда основной сервер выходит из строя, в работу включается сервер-реплика, минимизируя время отказа телефонии. В этой статье мы рассмотрим, как правильно конфигурировать отказоустойчивость АТС 3CX.

Лицензирование

Для использования отказоустойчивости вам потребуется одна лицензия Enterprise (ENT) или Professional (PRO). В лицензии ENT установлено время жизни (TTL) А-записи FQDN сервера 3CX в 5 минут. В лицензии PRO TTL А-записи установлено в 6 часов. Это значит, что в редакции PRO время аварийного переподключения IP-телефонов, клиентов 3CX, 3CX SBC и веб-клиента будет значительно выше.

Реализация отказоустойчивости

В 3CX используется принцип активного-пассивного кластера с репликацией конфигурации раз в минимум 24 часа. Основной (активный) узел выполняет обработку VoIP вызовов, а резервный (пассивный) узел мониторит активный хост. При выходе из строя активного хоста (независимо от причины), пассивный хост включается в работу примерно с того же состояния. Механизм определения выхода из строя активного хоста зависит от настроек на пассивном хосте и рассматривается ниже.

Поддерживаемые топологии сети

Отказоустойчивый кластер 3CX рассчитан на работу в следующих топологиях:

  • Локальный сервер (NAT)
  • Облако (публичный сервер)

[recovery mode] Отказоустойчивый VoIP кластер 3CX

Отказоустойчивость между локальным и облачным узлом официально не поддерживается. Также предполагается, что FQDN сервера 3CX предоставлено и поддерживается компанией 3CX. Разумеется, вы можете использовать более сложную топологию и собственное FQDN имя, но в этом случае управление DNS записями и переконфигурированием устройств является зоной ответственности системного администратора.  

Предварительные требования

Перед запуском отказоустойчивого кластера на 2 серверах должен быть установлен сервер 3CX следующим образом:

  • Одна 3CX в облаке (первый публичный IP) и другая АТС в облаке (второй публичный IP) с FQDN именем от компании 3CX
  • Оба сервера устанавливаются с идентичными настройками — одинаковые FQDN, SSL сертификат и порты SIP, туннеля и веб-сервера.
  • Во вкладке автонастройки IP-телефонов необходимо указывать интерфейс как FQDN, а не как IP-адрес (см. ниже).

В других топологиях, например, одном узле в частной сети, а другом — в облаке, необходимо использовать скрипты для обновления DNS А-записей. Скрипты должны выполняться в момент аварийного переключения. Ниже мы поговорим об этом подробнее.

Настройка основного узла

Предположим, что на основном (активном) сервере уже установлена и настроена 3CX v15.5.

[recovery mode] Отказоустойчивый VoIP кластер 3CX

Для всех добавочных номеров укажите вариант автонастройки IP-телефонов через FQDN (вкладка Автонастройка телефона, опция Выберите интерфейс).

[recovery mode] Отказоустойчивый VoIP кластер 3CX

В разделе Резервирование нажмите кнопку Расположение и выберите Google Drive. Вы можете выбрать другое расположение, доступное с обоих серверов. В нашем примере кластер хранит конфигурацию в папке SIP3CXCOMBackups на Google Drive.

[recovery mode] Отказоустойчивый VoIP кластер 3CX

Нажмите кнопку План резервного копирования и выберите данные, которые необходимо синхронизировать в кластере, а также время синхронизации. Рекомендуется настроить ежедневную ночную синхронизацию, как показано выше. Имя файла резервной копии 3CXScheduledBackup.zip разерезвировано в 3CX для последней выгруженной конфигурации и используется обоими узлами кластера.

[recovery mode] Отказоустойчивый VoIP кластер 3CX

В этом же разделе нажмите кнопку Отказоустойчивость, включите опцию Включить резервное копирование и выберите Режим резервного переключения — Основной. На этом настройка активного узла кластера завершена.

Настройка резервного узла

На резервном сервере установите 3CX, учитывая предварительные требования, перечисленные выше. Обратите внимание — если у вас основной и резервный сервер используют разные публичные IP-адреса, после установки резервного сервера общее FQDN имя кластера будет резолвится на резервный узел (а вначале, после установки основного сервера, оно резолвится на его IP). Для того, чтобы снова связать FQDN с IP-адресом основного сервера, на основном сервере в разделе Главная кликните на ссылке Лицензия, а затем нажмите Изменить и OK. Теперь FQDN снова начнет указывать на IP основного сервера.  

[recovery mode] Отказоустойчивый VoIP кластер 3CX

Перейдите в раздел Резервирование и нажмите кнопку План восстановления. Включите восстановление и укажите время восстановления (разумеется, оно должно быть немного позже времени резервного копирования). Затем установите опцию Не запускать сервисы после восстановления.

[recovery mode] Отказоустойчивый VoIP кластер 3CX

В этом же разделе нажмите кнопку Отказоустойчивость, включите опцию Включить резервное копирование и выберите Режим резервного переключения — Резервный. Укажите IP адрес основного сервера (в нашем примере 1.1.1.1) и сервисы, которые следует мониторить: SIP Server, Web Server или Tunnel Server. Установите интервал проверки и логику срабатывания переключения — при «падении» только одного сервиса или всех сервисов. Если резервный сервер обнаруживает отказ основного, он включается в работу, используя данные последней восстановленной резервной копии. Кроме того, он уведомляет DNS 3CX (который расположен в инфраструктуре Google) об изменении A-записи FQDN на IP-адрес резервного узла. Важно, чтобы «упавший» основной сервер был полностью выключен, поскольку если на нем остались работающие сервисы 3CX, возможен конфликт с аналогичными сервисами на резервном узле. Стоит отметить, что 3CX официально не поддерживает работу FXO или FXS шлюзов в отказоустойчивом кластере, поскольку взаимодействие шлюзов и сервера в такой топологии зависит от особенностей вендора, конкретной модели и версии прошивки.

Скрипты в сложной топологии

Если у вас используется собственное FQDN в топологии LAN-LAN или топология LAN-Cloud, необходимо использовать специальные скрипты (в Windows это Powershell скрипты отказоустойчивости для Active Directory), запускаемые с определенными привилегиями. По умолчанию, скрипты, которые могут выполняться в процессе резервного переключения, выполняются с привилегиями сервиса 3CX Event Notification Manager (по умолчанию Local System). Как правило, для выполнения скрипта нужны привилегии управления DNS сервером (dnscmd или psexec).

[recovery mode] Отказоустойчивый VoIP кластер 3CX

Кликните по сервису в соответствующей оснастке Windows и на вкладке Log On измените учетную запись с Local System на ту, которая имеет соответствующие привилегии для конфигурирования DNS, и перезапустите сервис. Рекомендуется создать отдельного пользователя с данной привилегией и задать ему неизменяемый пароль.

Источник: https://habr.com/post/354722/?utm_source=habrahabr&utm_medium=rss&utm_campaign=354722